package 每日一题;

import com.alibaba.fastjson.JSON;

public class No922按奇偶排序数组II {

    /**
     * 给定一个非负整数数组 A， A 中一半整数是奇数，一半整数是偶数。
     * 对数组进行排序，以便当 A[i] 为奇数时，i 也是奇数；当 A[i] 为偶数时， i 也是偶数。
     * 你可以返回任何满足上述条件的数组作为答案。
     *
     * 示例：
     * 输入：[4,2,5,7]
     * 输出：[4,5,2,7]
     * 解释：[4,7,2,5]，[2,5,4,7]，[2,7,4,5] 也会被接受。
     */

    public static int[] sortArrayByParityII(int[] A) {
        /**
         * 简单一点的双指针
         */
        int k=1;
        for(int i=0;i<A.length;i=i+2){
            if(A[i]%2!=0){//发现偶数位是奇数
                while (A[k]%2!=0){//去找一个奇数位不为奇数的
                    k+=2;
                }
                //找到了,现在去交换
                int temp=A[i];
                A[i]=A[k];
                A[k]=temp;
            }
        }
        return A;
    }

    public static void main(String[] args) {
        int[] ints = sortArrayByParityII(new int[]{4,2,5,7});
        System.out.println(JSON.toJSONString(ints));
    }

}
